package com.stu.mall.search.controller;

import com.stu.mall.search.service.MallSearchService;
import com.stu.mall.search.vo.SearchParam;
import com.stu.mall.search.vo.SearchResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import javax.servlet.http.HttpServletRequest;

@Controller
public class SearchController {

    @Autowired
    private MallSearchService mallSearchService;

    /**
     * http://search.gmall.com/list.html?
     * keyword=华为
     * &catalog3Id=225
     * &sort=saleCount_desc    【升序：sort=saleCount_asc】
     * &hasStock=0/1    【0代表有货，1代表无货】
     * &skuPrice=7000_  【价格区间】
     * &brandId=1
     * &brandId=2
     * &attrs=7_华为（HUAWEI）:高通        【属性ID_属性值:属性值】
     * &attrs=9_其他
     * &pageNum=1
     *
     * @param param
     * @param model
     * @param request
     * @return
     */
    @GetMapping("/list.html")
    public String listPage(SearchParam param, Model model, HttpServletRequest request) {
        param.set_queryString(request.getQueryString());
        //1、根据传递来的页面的查询参数，去es中检索商品
        SearchResult result = mallSearchService.search(param);
        model.addAttribute("result", result);
        return "list";
    }
}

